package control;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Divisi;
import model.Menu;
import model.Nota;
import model.Pegawai;
import model.Pembeli;
import model.Pesan;
import tabelmodel.PesanTableModel;

public class KepalaDapurKontrol {
    
    private Connection conn;

    public KepalaDapurKontrol(Connection koneksi) {
        this.conn = koneksi;
    }

    public static KepalaDapurKontrol getKoneksiKepalaDapur() throws SQLException {
        KepalaDapurKontrol kon = new KepalaDapurKontrol(OraConnection.getKoneksi());
        return kon;
    }

    public void updateStatus(Pesan pesanan) throws SQLException {
        String id = pesanan.getIdPesanan();
        pesanan.setStatus("Selesai");
        String status = pesanan.getStatus();
        String sql = "update pesan set status = '" + status + "' "
                + "where  idPesan =  '" + id + "'";
        Statement stat = conn.createStatement();
        stat.executeUpdate(sql);
        conn.close();
    }
    

    public List<Pesan> tampilDaftarPesanan() throws SQLException {
        List<Pesan> pesananList = new ArrayList<Pesan>();
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT pesan.idPesan, pesan.waktuPesan, pembeli.idPembeli, pembeli.noMeja, "
                + "menu.idMenu, menu.namaMenu, pesan.jumlahPesanan, pesan.status FROM pesan, menu, pembeli "
                + "where pesan.menu = menu.idMenu and pesan.pembeli = pembeli.idPembeli "
                + "order by pesan.idPesan, pesan.waktuPesan");
        while (rs.next()) {
            Pesan pes = new Pesan();
            Menu men = new Menu();
            Pembeli pem = new Pembeli();
            pes.setIdPesanan(rs.getString("idPesan"));
            pes.setWaktuPesan(rs.getTimestamp("waktuPesan"));
            pem.setNoMeja(rs.getString("noMeja"));
            men.setNamaMenu(rs.getString("namaMenu"));
            pes.setJumlahPesanan(Integer.parseInt(rs.getString("jumlahPesanan")));
            pes.setStatus(rs.getString("status"));
            pes.setPembeli(pem);
            pes.setMenu(men);
            pesananList.add(pes);
        }
        return pesananList;
    }
}
